﻿Imports PTIC_Util.GestionCalculs
Imports PTIC_Util

Namespace moteurTauxGaranti1

    Public Class MoteurEqTarif
        Implements IMoteurEqTarif

        Public Sub New(TableEntree As DataTable, FonctionCalcul As IMoteurEqTarifFonctionCalcul)
            m_TableEntree = TableEntree
            m_FonctionCalculMoteurEqTarif = FonctionCalcul
            m_EtatCalcul = ValueEtatCalcul.A_MAJ
        End Sub

        Private m_TableEntree As DataTable
        Public Property TableTravail As DataTable Implements IMoteurEqTarif.TableTravail
            Get
                Return m_TableEntree
            End Get
            Set(value As DataTable)
                m_TableEntree = value
            End Set
        End Property

        Private m_FonctionCalculMoteurEqTarif As IMoteurEqTarifFonctionCalcul
        Public Property FonctionCalculMoteurEqTarif As IMoteurEqTarifFonctionCalcul Implements IMoteurEqTarif.FonctionCalculMoteurEqTarif
            Get
                Return m_FonctionCalculMoteurEqTarif
            End Get
            Set(value As IMoteurEqTarifFonctionCalcul)
                m_FonctionCalculMoteurEqTarif = value
            End Set
        End Property

        Private m_Resultats As IresultatsMoteur1
        Public ReadOnly Property Resultats As IresultatsMoteur1 Implements IMoteurEqTarif.Resultats
            Get
                Return m_Resultats
            End Get
        End Property

        Public Sub Calculer() Implements IMoteurEqTarif.Calculer
            'Intégrer la procédure de calcul
            SetEtatCalcul(ValueEtatCalcul.A_JOUR)
        End Sub

#Region "Gestion des calculs"

        Private m_EtatCalcul As ValueEtatCalcul
        Public ReadOnly Property EtatCalcul As ValueEtatCalcul Implements IMoteurEqTarif.EtatCalcul
            Get
                Return m_EtatCalcul
            End Get
        End Property
        Private Sub SetEtatCalcul(Value As ValueEtatCalcul)
            m_EtatCalcul = Value
            'Générer l'évènement de changement d'état
        End Sub

        Public Sub Invalider() Implements IMoteurEqTarif.Invalider
            SetEtatCalcul(ValueEtatCalcul.A_MAJ)
        End Sub

#End Region

    End Class
End Namespace